// 基础的url
const URI = {
	baseURL: "https://srv.hotkidceo.com"
}

function tansParams(obj) {
	var str = "";
	for (var k in obj) {
		str += k + "=" + obj[k] + "&";
	}
	return str.slice(0, -1);
}

function request(option) {
	var url = option.url;
	url = url.startsWith("http") ? url : URI.baseURL + url;
	if (option.params) {
		url += "?" + tansParams(option.params);
	}

	// 02 可以添加请求头
	var header = option.header || {};
	header.Authorization = "Bearer " + uni.getStorageSync('token');
	header.platform = "App"
	// 03 可以添加加载提示
	if (option.loading) {
		uni.showToast({
			title: option.loading.title,
			icon: option.loading.icon,
		})
	}
	// 返回一个promise
	return new Promise((resolve, reject) => {
		uni.request({
			// 请求的地址如果一http开头直接用url不是http开头添加我们 baseUrL
			url: url,
			method: option.method || "POST", //请求的方法 默认get
			data: option.data, //post出入的参数
			header,
			success(res) {
				// 请求成功
				resolve(res.data);
			},
			fail(err) {
				// 04 对错误进行处理
				uni.showToast({
					title: "加载失败",
					icon: "none"
				})
				// 请求失败
				reject(err);
			},
			complete() {
				// 关闭加载提示
				uni.hideToast();
			}
		})
	})
}
// 定义get简易方法
request.get = (url, config) => {
	return request({
		url,
		method: "get",
		...config
	})
}
// 定义post简易方法
request.post = (url, data, config) => {
	return request({
		url,
		method: "post",
		data,
		...config
	})
}
// 导入request
module.exports = {
	request
}
